$OpenBSD: patch-src_manage_c,v 1.19 2016/11/13 20:46:23 dcoppa Exp $
--- src/manage.c.orig	Tue Nov  8 19:54:01 2016
+++ src/manage.c	Thu Nov 10 18:04:35 2016
@@ -480,10 +480,16 @@ void manage_window(xcb_window_t window, xcb_get_window
     if (cwindow->dock)
         want_floating = false;
 
-    /* Plasma windows set their geometry in WM_SIZE_HINTS. */
+    /*
+     * Plasma windows set their geometry in WM_SIZE_HINTS.  Note that
+     * these fields are obsolete, so ignore unless there is a width and
+     * a height specified.
+     */
     if ((wm_size_hints.flags & XCB_ICCCM_SIZE_HINT_US_POSITION || wm_size_hints.flags & XCB_ICCCM_SIZE_HINT_P_POSITION) &&
-        (wm_size_hints.flags & XCB_ICCCM_SIZE_HINT_US_SIZE || wm_size_hints.flags & XCB_ICCCM_SIZE_HINT_P_SIZE)) {
-        DLOG("We are setting geometry according to wm_size_hints x=%d y=%d w=%d h=%d\n",
+        (wm_size_hints.flags & XCB_ICCCM_SIZE_HINT_US_SIZE || wm_size_hints.flags & XCB_ICCCM_SIZE_HINT_P_SIZE) &&
+        wm_size_hints.width != 0 && wm_size_hints.height != 0) {
+        DLOG("We are setting geometry according to the obsolete wm_size_hints "
+             "x=%d y=%d w=%d h=%d\n",
              wm_size_hints.x, wm_size_hints.y, wm_size_hints.width, wm_size_hints.height);
         geom->x = wm_size_hints.x;
         geom->y = wm_size_hints.y;
